# -*- coding: utf-8 -*-

# === メッセージの振り分けルール管理コントローラ
class Portal::MessageRulesController < ApplicationController
  before_filter :set_message_rule,
                  :only => [:edit, :update, :destroy]

  # === 振り分けルールの一覧を表示
  def index
    @rules = current_user.message_rules
  end

  # === 新規振り分けルール作成フォームの表示
  def new
    @message_rule = MessageRule.new
  end

  # === 既存振り分けルールの編集フォームの表示
  def edit
  end

  # === 新規振り分けルールの登録実行
  def create
    @message_rule = MessageRule.new(params[:message_rule])
    @message_rule.user = current_user
    if @message_rule.save
      redirect_to portal_messages_path,
                   :notice => "振り分けルールを作成しました。"
    else
      render :action => "new"
    end
  end

  # === 既存振り分けルールの更新実行
  def update
    if @message_rule.update_attributes(params[:message_rule])
      redirect_to portal_messages_path,
                   :notice => "振り分けルールを更新しました。"
    else
      render :action => "edit"
    end
  end

  # === 既存振り分けルールの削除実行
  def destroy
    @message_rule.destroy
    redirect_to portal_messages_path,
                 :notice => "振り分けルールを削除しました。"
  end


  private

  # === 処理対象振り分けルールレコードの取得
  def set_message_rule
    @message_rule = MessageRule.find(params[:id])
    unless @message_rule.user == current_user
      redirect_to portal_messages_path,
                   :notice => "所有するルールではありません。"
    end
  end
end
